Fix vertical off-by-one error
authorJonas Bernoulli <jonas@bernoul.li>
Thu, 4 Aug 2022 12:05:11 +0000 (14:05 +0200)
committerJonas Bernoulli <jonas@bernoul.li>
Thu, 4 Aug 2022 12:05:11 +0000 (14:05 +0200)
commit245be33189fdba26997fc565742ce7a0e78232aa
treebea17e6927cd7dd41500ecd0b8ac87be3549411f
parent5fe2d3317d60411970e662d62ffc05fe5eac7319
Fix vertical off-by-one error

When the usage information is displayed at the top or bottom (as
controlled by `which-key-show-prefix'), then we already accounted
for that by putting (- max-height 1) bindings in each row.  But
we did not ensure that the max-height is used when displaying the
result.  Instead we used (- max-height 1) here too.

When trying to display usage information at the bottom, the result is
that it is not displayed because it is off-window.  When displaying at
the top, then it is displayed, but the last binding is off-window and
never displayed.

This bug did not matter (much) when using the default settings because
then the code used for displaying the window actually ignores the
max-height and just uses the height appropriate to display all lines
in the buffer (i.e., (+ max-height 1)).  However, other display
methods, including but not necessarily limited to third-party methods
(such as `which-key-posframe') may choose to, or absolutely have to,
respect max-height.  In particular, anything that tries to use the
full height of a frame or window, will be affected by this.
which-key.el